11 research outputs found

    A Reflective Theorem Prover for the Connection Calculus

    Get PDF
    Rewriting logic can be used to prototype systems for automated deduction. In this paper, we illustrate how this approach allows experiments with deduction strategies in a flexible and conceptually satisfying way. This is achieved by exploiting the reflective property of rewriting logic. By specifying a theorem prover in this way one quickly obtains a readable, reliable and reasonably efficient system which can be used both as a platform for tactic experiments and as a basis for an optimized implementation. The approach is illustrated by specifying a calculus for the connection method in rewriting logic which clearly separates rules from tactics

    Basic completion strategies as another application of the Maude strategy language

    Full text link
    The two levels of data and actions on those data provided by the separation between equations and rules in rewriting logic are completed by a third level of strategies to control the application of those actions. This level is implemented on top of Maude as a strategy language, which has been successfully used in a wide range of applications. First we summarize the Maude strategy language design and review some of its applications; then, we describe a new case study, namely the description of completion procedures as transition rules + control, as proposed by Lescanne.Comment: In Proceedings WRS 2011, arXiv:1204.531

    Efficient Rule-Matching for Automated Coherent Logic

    Get PDF
    Coherent logic is a syntactically defined fragment of first-order logic. The paper describes an experiment with a prover for coherent logic. A prover here means software that takes as input a theory in coherent logic, and (if it halts) either outputs a proof of a contradiction in the theory, or a model of the theory. Existing provers for coherent logic typically spend much of their time in the process of matching inferred literals with the negative literals of the input clauses. We present an alternative to this matching process by applying a modified version of the Rete algorithm [6]. The Rete algorithm was developed in the 1970s for production systems in artificial intelligence. We exploit the similarities between coherent logic and production systems in order to make the Rete algorithm solve the matching problem. We also investigate the effect of working on several independent branches present in proof search in coherent logic but not in production systems. NIK: Norsk Informatikkonferanse. 2012 (25-36). http://www.nik.no

    Efficient Rule-Matching for Hyper-Tableaux

    Get PDF
    Over the past decades, a number of calculi for automated reasoning have been proposed that share some core features: 1. proofs are built in a tableau/sequent style as trees where nodes are labeled with literals, and 2. these proofs are expanded by interpreting the problem clause set as a set of rules, and requiring all negative literals in clauses to present on a branch for expansion. This applies to hyper-tableaux [1], MGTP [7], coherent logic [3, 4], and others. Existing implementations typically spend much of their time in the process of matching branch literals with the negative literals of the input clauses. We present an alternative to this matching process by applying a modified version of the RETE algorithm [6]. The RETE algorithm was developed in the 1970s for production systems in artificial intelligence. We exploit the similarities between the mentioned calculi and production systems in order to make the RETE algorithm solve the matching problem. We also investigate the effect of working on several independent branches present in tableau proof search but not in production systems.

    Proof Search for the First-Order Connection Calculus in Maude

    Get PDF
    This paper develops a rewriting logic specification of the connection method for first-order logic, implemented in Maude. The connection method is a goal-directed proof procedure that requires a careful control over clause copies. The specification separates the inference rule layer from the rule application layer, and implements the latter at Maude’s meta-level. This allows us to develop and compare different strategies for proof search. Keywords: First-order logic, connection method, rewriting logic, reflection, meta-programming, Maude
    corecore